package com.ruoyi.wms.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 库位信息对象 wms_location
 * 
 * @author ruoyi
 * @date 2024-01-01
 */
public class WmsLocation extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 租户ID */
    @Excel(name = "租户ID")
    private Long tenantId;

    /** 仓库ID */
    @Excel(name = "仓库ID")
    private Long warehouseId;

    /** 库区ID */
    @Excel(name = "库区ID")
    private Long areaId;

    /** 库位编码 */
    @Excel(name = "库位编码")
    private String locationCode;

    /** 库位名称 */
    @Excel(name = "库位名称")
    private String locationName;

    /** 库位类型：1-临时库位，2-普通库位，3-收货库位，4-发货库位，5-次品库位 */
    @Excel(name = "库位类型", readConverterExp = "1=临时库位,2=普通库位,3=收货库位,4=发货库位,5=次品库位")
    private Integer locationType;

    /** 排号 */
    @Excel(name = "排号")
    private String rowNo;

    /** 层号 */
    @Excel(name = "层号")
    private String tierNo;

    /** 格号 */
    @Excel(name = "格号")
    private String gridNo;

    /** 长度（cm） */
    @Excel(name = "长度")
    private BigDecimal length;

    /** 宽度（cm） */
    @Excel(name = "宽度")
    private BigDecimal width;

    /** 高度（cm） */
    @Excel(name = "高度")
    private BigDecimal height;

    /** 最大承重（kg） */
    @Excel(name = "最大承重")
    private BigDecimal maxWeight;

    /** 容积（立方米） */
    @Excel(name = "容积")
    private BigDecimal volume;

    /** 是否允许混放：0-否，1-是 */
    @Excel(name = "允许混放", readConverterExp = "0=否,1=是")
    private Integer isMixed;

    /** 优先级 */
    @Excel(name = "优先级")
    private Integer priority;

    /** 状态：0-停用，1-启用，2-锁定 */
    @Excel(name = "状态", readConverterExp = "0=停用,1=启用,2=锁定")
    private Integer status;

    /** 仓库名称 */
    private String warehouseName;

    /** 区域名称 */
    private String areaName;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setTenantId(Long tenantId) 
    {
        this.tenantId = tenantId;
    }

    public Long getTenantId() 
    {
        return tenantId;
    }
    public void setWarehouseId(Long warehouseId) 
    {
        this.warehouseId = warehouseId;
    }

    public Long getWarehouseId() 
    {
        return warehouseId;
    }
    public void setAreaId(Long areaId) 
    {
        this.areaId = areaId;
    }

    public Long getAreaId() 
    {
        return areaId;
    }
    public void setLocationCode(String locationCode) 
    {
        this.locationCode = locationCode;
    }

    public String getLocationCode() 
    {
        return locationCode;
    }
    public void setLocationName(String locationName) 
    {
        this.locationName = locationName;
    }

    public String getLocationName() 
    {
        return locationName;
    }
    public void setLocationType(Integer locationType) 
    {
        this.locationType = locationType;
    }

    public Integer getLocationType() 
    {
        return locationType;
    }
    public void setRowNo(String rowNo) 
    {
        this.rowNo = rowNo;
    }

    public String getRowNo() 
    {
        return rowNo;
    }
    public void setTierNo(String tierNo) 
    {
        this.tierNo = tierNo;
    }

    public String getTierNo() 
    {
        return tierNo;
    }
    public void setGridNo(String gridNo) 
    {
        this.gridNo = gridNo;
    }

    public String getGridNo() 
    {
        return gridNo;
    }
    public void setLength(BigDecimal length) 
    {
        this.length = length;
    }

    public BigDecimal getLength() 
    {
        return length;
    }
    public void setWidth(BigDecimal width) 
    {
        this.width = width;
    }

    public BigDecimal getWidth() 
    {
        return width;
    }
    public void setHeight(BigDecimal height) 
    {
        this.height = height;
    }

    public BigDecimal getHeight() 
    {
        return height;
    }
    public void setMaxWeight(BigDecimal maxWeight) 
    {
        this.maxWeight = maxWeight;
    }

    public BigDecimal getMaxWeight() 
    {
        return maxWeight;
    }
    public void setVolume(BigDecimal volume) 
    {
        this.volume = volume;
    }

    public BigDecimal getVolume() 
    {
        return volume;
    }
    public void setIsMixed(Integer isMixed) 
    {
        this.isMixed = isMixed;
    }

    public Integer getIsMixed() 
    {
        return isMixed;
    }
    public void setPriority(Integer priority) 
    {
        this.priority = priority;
    }

    public Integer getPriority() 
    {
        return priority;
    }
    public void setStatus(Integer status) 
    {
        this.status = status;
    }

    public Integer getStatus() 
    {
        return status;
    }
    
    public void setWarehouseName(String warehouseName) 
    {
        this.warehouseName = warehouseName;
    }

    public String getWarehouseName() 
    {
        return warehouseName;
    }
    
    public void setAreaName(String areaName) 
    {
        this.areaName = areaName;
    }

    public String getAreaName() 
    {
        return areaName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("tenantId", getTenantId())
            .append("warehouseId", getWarehouseId())
            .append("areaId", getAreaId())
            .append("locationCode", getLocationCode())
            .append("locationName", getLocationName())
            .append("locationType", getLocationType())
            .append("rowNo", getRowNo())
            .append("tierNo", getTierNo())
            .append("gridNo", getGridNo())
            .append("length", getLength())
            .append("width", getWidth())
            .append("height", getHeight())
            .append("maxWeight", getMaxWeight())
            .append("volume", getVolume())
            .append("isMixed", getIsMixed())
            .append("priority", getPriority())
            .append("status", getStatus())
            .append("remark", getRemark())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}